package configuration

import (
	"encoding/json"
	"errors"
	"fmt"
	"kop/modules/configuration/client"
	"kop/util/log"
)

func init() {

	var b = client.Load("RingTemplate")
	if err := json.Unmarshal(b, &RingConfigs); err != nil {
		panic(err)
	}

	log.Info("Load RingTemplate.json success.")
	//********************************************************************//

}

// 道具配置
type (
	RingType int32

	RingConfig struct {
		ID             int32 // 魔戒ID
		Quality        int32 // 魔戒品质
		SubQuality     int32 // 魔戒次品质
		AttributeID    int32 // 能力ID
		UpgradeID      int32 // 强化培养ID
		RefineID       int32 // 重铸培养ID
		NeedRingID     int32 // 合成需求戒指ID
		NeedItemID     int32 // 合成需求材料ID
		NeedMoney      int64 // 合成需求银币数量
		DecomposeCount int32 // 分解出道具数量
	}
)

var (
	RingConfigs = map[int32]RingConfig{}
)

func GetByRingID(ringID int32) (RingConfig, error) {

	var conf, ok = RingConfigs[ringID]
	if ok {
		return conf, nil
	}

	return RingConfig{}, errors.New(fmt.Sprintf("RingID not found [%d]", ringID))
}
